function EulerDt(N,Q,vmapM,gamma,Fscale)
    """
    Purpose: compute the time step dt for the compressible Euler equations
    """
    rho  = Q[:,:,1] 
    rhou = Q[:,:,2]
    rhov = Q[:,:,3]
    Ener = Q[:,:,4]

    rho = rho[vmapM] 
    rhou = rhou[vmapM]
    rhov = rhov[vmapM] 
    Ener = Ener[vmapM]
    
    u = rhou./rho; v = rhov./rho
    p = (gamma-1.0)*(Ener - rho.*(u.^2 .+ v.^2)/2)
    c = sqrt.(abs.(gamma*p./rho))

    dt = 1.0/maximum(((N+1)^2)*0.5*Fscale[:].*(sqrt.(u[:].^2 .+ v[:].^2 ) .+ c[:]))
    dt
end